package lj.a.tool;

import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ArrayUtil;

import java.util.List;
import java.util.function.Function;

public class LJToolArray {

    /**
     * 过滤无用元素，并且缩短到必要长度
     * @param bytes
     * @return
     */
    public static byte[] removeLeZero(byte[] bytes){
        final byte[] byteData = new byte[2048];
        int byteIndex = 0;
        for (int i = 0; i < bytes.length; i++) {
            final byte aByte = bytes[i];
            if(aByte > 0){
                byteData[byteIndex++] = aByte;
            }
        }
        return ArrayUtil.sub(byteData,0, byteIndex);
    }

    /**
     * 查找下标
     * @param arr
     * @param of
     * @param <T>
     * @return
     */
    public static <T> int indexOf(T[] arr, Function<T, Boolean> of) {
        for (int i = 0; i < arr.length; i++) {
            if (of.apply(arr[i])) {
                return i;
            }
        }
        return -1;
    }


}
